/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package app;

import data.RecipeMenu;
import data.SampleDataProvider;
import java.util.Enumeration;
import java.util.Vector;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.*;
import model.Activity;
import model.Cookbook;
import model.Product;
import model.Measure;
import model.Recipe;
import utils.DataProvider;

/**
 * @author Marta
 */
public class Midlet extends MIDlet implements CommandListener {

    private Display display;
    private List menu;
    private String option1;
    private String option2;
    private String option3;
    private List listRecipe;
    private Form recipe;
    private String name;
    private String description;
    private String category;
    private String portions;
    DataProvider provider = new SampleDataProvider();
    Cookbook cookbook = provider.importXML();

    public Midlet() {
//        // Główne menu
//        menu = new List("Menu", List.IMPLICIT);
//        option1 = new String("Przepisy");
//        option2 = new String("Ulubione");
//        option3 = new String("Lista zakupów");
//        menu.append(option1, null);
//        menu.append(option2, null);
//        menu.append(option3, null);
//        menu.setCommandListener(this);
//
//        // Lista przepisów
//        listRecipe = new List("Lista przepisów", List.IMPLICIT);
//        listRecipe.append("Bi", null);
//        listRecipe.setCommandListener(this);
//
//        // Pojedyńczy przepis
//        recipe = new Form("Przepis");
//        name = RecipeMenu.getBigos().getName();
//        description = RecipeMenu.getBigos().getDescription();
//        category = RecipeMenu.getBigos().getCategory().getName().toString();
//        portions = Integer.toString(RecipeMenu.getBigos().getPortions());
//        // Przygotowanie przepisu krok po kroku
//        Vector listA = RecipeMenu.getBigos().listActivities();
//        Enumeration lEnum = listA.elements();
//        int sizeA = listA.size();
//        String[] step = new String[sizeA];
//        int i = 0;
//        while (lEnum.hasMoreElements()) {
//            Activity a = (Activity) lEnum.nextElement();
//            step[i] = a.getStep();
//            i++;
//        }
//        // Lista składników
//        Vector listI = RecipeMenu.getBigos().listIngredients();
//        int sizeI = listI.size();
//        String ingredient[] = new String[sizeI];
//        String measure[] = new String[sizeI];
//        String amount[] = new String[sizeI];
//        for (i = 0; i < sizeI; i++) {
//            Product first = (Product) listI.elementAt(i);
//            ingredient[i] = first.getName().toString();
//            Measure miara = RecipeMenu.getBigos().getMeasureForIngredient(first);
//            measure[i] = miara.getName();
//            amount[i] = Double.toString(miara.getAmount());
//        }
//        recipe.append(new StringItem("Nazwa", name));
//        recipe.append(new StringItem("Kategoria", category));
//        recipe.append(new StringItem("Porcja", portions));
//        recipe.append(new StringItem("Opis", description));
//        recipe.append("Składniki");
//        for (i = 0; i < sizeI; i++) {
//            recipe.append(new String(ingredient[i]));
//            recipe.append(new String(measure[i] + " " + amount[i]));
//        }
//        recipe.append("Przygotowanie");
//        for (i = 0; i < sizeA; i++) {
//            recipe.append(new String(step[i]));
//        }
//        recipe.setCommandListener(this);
    }

    public void startApp() {
        display = Display.getDisplay(this);
        display.setCurrent(menu);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {
        if (c == List.SELECT_COMMAND && d == menu) {
            String selection = menu.getString(menu.getSelectedIndex());
            if (selection == null ? option1 == null : selection.equals(option1)) {
                display.setCurrent(listRecipe);
            }
        } else if (c == List.SELECT_COMMAND && d == listRecipe) {
//            String selection = menu.getString(menu.getSelectedIndex());
            display.setCurrent(recipe);
        }

    }
}
